﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;

namespace AffinityORMLibrary.DataTypes
{
    public class SysTableColumn : DataBase
    {
        private string _tableName;
        private string _columnName;
        private bool _isnullable;
        private int _ordinalPosition;
        private string _columnDefault;
        private SqlDbType _dataType;
        private int? _charMaxLength;
        private int? _numericPrecision;
        private int? _dateTimePercision;

        public string TABLE_NAME
        {
            set { _tableName = value; }
            get { return _tableName; }
        }

        public string COLUMN_NAME
        {
            get { return _columnName; }
            set { _columnName = value; }
        }

        public bool IS_NULLABLE
        {
            get { return _isnullable; }
            set { _isnullable = value; }
        }

        public int ORDINAL_POSITION
        {
            get { return _ordinalPosition; }
            set { _ordinalPosition = value; }
        }

        public string COLUMN_DEFAULT
        {
            get { return _columnDefault; }
            set { _columnDefault = value; }
        }

        public SqlDbType DATA_TYPE
        {
            get { return _dataType; }
            set { _dataType = value; }
        }

        public int? CHARACTER_MAXIMUM_LENGTH
        {
            get { return _charMaxLength; }
            set { _charMaxLength = value; }
        }

        public int? NUMERIC_PRECISION
        {
            get { return _numericPrecision; }
            set { _numericPrecision = value; }
        }

        public int? DATETIME_PRECISION
        {
            get { return _dateTimePercision; }
            set { _dateTimePercision = value; }
        }
    }
}
